const express = require('express');
const bodyParser = require('body-parser');

// 处理cookie
const cookieParser = require('cookie-parser');

// 引入jsonwebtoken
const jwt = require('jsonwebtoken');

const app = express();

// 内置中间
app.use('/static',express.static('public'));
// 第三方中间件
app.use(bodyParser.urlencoded({extended:true}));
// 使用的是第三方中间件cookieParser，将cookie上的数据进行解析，解析挂载到req.cookies
app.use(cookieParser());


// 秘钥
let secret = 'tutututu';
// 注册成功
let obj = {
    name:'tom',
    password:'123'
}
app.post('/login',(req,res)=>{
   const body = req.body;
   body.exp = Math.floor(Date.now()/1000) + 60;
// 当用户名和密码相同登录成功！！
    if(obj.name == body.name && obj.password == body.password){
        // 将数据存放到了session 并形成标识 token
        jwt.sign(body,secret,(err,token)=>{
            console.log(token);
            // 把token放到cookie中
            res.cookie('token',token,{
                maxAge:1000*60
            })
            res.send('登录成功！！')
        })

    }else{
        res.send('登录失败!!')
    }
})

/* 









*/



app.get('/testtoken',(req,res)=>{
    console.log(req.cookies);
    // 验证jsonwebtoken中是否有token对应的值
    jwt.verify(req.cookies.token,secret,(err,authData)=>{
        if(!err){
            console.log(authData);
            res.send('有对应的值');
        }else{
            console.log(err);
            res.send('错了')
        }
    })
})
app.listen(8080,err=>{
    if(!err) console.log('serve');
    else console.log(err);
})



